Dernière mise à jour le 28.01.2015.

Création d'un fichier pot avec Poedit

Comme j'ai déjà dit dans une autre tuto, certains modules complémentaire n'apportent pas le fichier nvda.po, est alors impossible de modifier les messages dans notre propre langue, seulement on va trouver le fichier nvda.mo qui sert à ce module complémentaire mais nous ne pouvons pas le modifier.
Dans certains cas le module complémentaire ne comporte pas même pas le fichier.mo.
Pour créer un fichier pot, j'écris deux lignes :
par curiosité, je précise que le fichier.pot est un Fichier .po sans traductions, contenant seulement les messages d'origine en anglais (dans la plus part des cas).
Si vous avez un code i18n:
Vous vous demandez ce qui est cette barbarisme?
le code i18n, c'est tout simplement le code source c'est-à-dire le fichier.py. Tout le code de NVDA est écrit
en langage python donc le fichier comporte l'extension en .py.
I18n est la sigle d'internationalisation, cela signifie qu'il peut être traduit.
Dans notre exemple, nous prendrons comme base un module complémentaire qui a le code source fakeClipboardAnouncement.py.
En un mot, vous devez avoir le code source du module complémentaire avec l'extension.py.
Cela dans la grande majorité des cas se trouve dans le dossier nommé :
globalPlugins
Bon alors voici la procédure :
:1. avec Poedit créer un nouveau catalogue et enregistrez-le dans le même dossier que le code.
Le dossier prendra le nom du module complémentaire pour une meilleure concordance.
N'oubliez pas d'enregistrer le code dans ce nouveau dossier.
2. Ouvrir Poedit et dans les Préférences qui se trouve dans le menu Catalogue faites entrée, une boîte de dialogue s'ouvre, il nous dis:
Propriétés du catalogue, ceci est le premier onglet, aller dans le deuxième onglet "Chemins des sources" dans Poedit, Entrez l'adresse du code source.
Vous pouvez aussi écrire un seule point si vous avez seulment enregistré le catalogue dans le même chemin du code.
3. pour être sûr, vérifiez si vous avez les Mots-clés corrects, cela se trouve dans le troisième onglet "Mots-clés source". Ce sont les symboles qui contiennent les messages à traduire. par
exemple:
_
__
_e;
Dans Poedit ils sont déjà là. Mais contrôler est une bonne chose.
4. dans le menu de Poedit sélectionnez "Mise à jour depuis les sources"
et appuyez sur entrée.
Poedit vous fait le résumé des chaine trouver puis des chaine obsolète.
Ensuite faire plusieurs fois tab jusq'à le bouton "OK"
et appuyez sur entrée.
Vous pouvez maintenant traduire et ajoutez vos données et les données rélatif au module complémentaire, tel que le nom et version du module complémentaire, la langue utiliser, le nom du pays, ci disponible la codification
utiliser (par défaut c'est codifiquer en UTF-8 Etc. Pour cela il faut aller au premier onglet:
aller dans les préférences qui se trouve dans le menu Catalogue, puis faire entrée.
une boîte de dialogue s'ouvre...
Il nous dis:
Propriétés du catalogue
Ceci est le premier onglet.
Utiliser Tab ou Maj+Tab pour se déplacer.
Dans le premier champ il se trouve le nom et la version du projet dans ce cas, taper le nom du module suivi de la version.
Par défaut, il est vide:
Nous allons le remplire, Si ce n'est pas le cas, poedit vous donne un message d'erreur, lors de l'enregistrement.
Refaire Tab à nouveau.
Ici se trouve le nom de l'équipe des traducteurs.
Par défaut, il est vide:
Vous devez mettre le nom de l'équipe des traducteurs ou votre nom.
Nous allons le remplire, Si ce n'est pas le cas, poedit vous donne un message d'erreur, lors de l'enregistrement.
Refaire Tab à nouveau.
Ici vous trouverais le champ pour écrire une adresse email.
Vous pouvez laissez le champ vide ; Si vous souhaitez vous pouvez mettre votre adresse email c'est mieux!.
Refaire Tab à nouveau.
Voici le champ pour la langue, ce champ est vide.
Utilisez les touches fléchées pour le Rechercher dans la liste
Déplacez-vous avec les flèches pour aller à la langue souhaitée.
Vous pouvez taper l'initiale et descendre avec la flèche.
Vous pouvez ttaper la lettre f pour avoir le français
C'est une zone de liste déroulante.
Faire entré pour que la langue soit sélectionné!!!
Dans certaines version de Poedit il n'apparaît pas cette zone de liste déroulante.
Je pense que vous devez éditer manuellement la langue.
Dans notre cas pour notre langue écrire:
fr_fr
Faire Tab.
Dans les anciennes versions de Poedit, il y a une zone de liste déroulante, pour choisir le pays.
Utilisez les touches fléchées pour le Rechercher dans la liste.
Déplacez-vous avec les flèches pour choisir le pays désiré.
Vous pouvez taper l'initiale et descendre avec la flèche.
Vous pouvez ttaper la lettre f pour avoir le nom du pays: france.
Faire entré pour que le nom du pays soit sélectionné!!!
Faire à nouveau Tab.
Jeu de caractères : UTF-8 (recommandé)
Ici, vous devez choisir UTF-8 comme codification.
C'est le premier dans la liste (c'est par défaut).
C'est une zone de liste déroulante.
Faire à nouveau Tab.
Jeu de caractères du code source : UTF-8 (recommandé)
Ici, vous devez choisir UTF-8 comme codification.
C'est le premier dans la liste (c'est par défaut).
C'est une zone de liste déroulante.
Faire à nouveau Tab.
Nous trouvons le champ rélatif nommé:
Formes plurielles :
il y a aussi deux bouton radio coché:
Utiliser les règles par défaut de cette langue c'est le premier bouton radio coché par défaut.
Utiliser une expression personnalisée c'est le deuxième bouton radio coché.
Si l'auteur du module a choisi cette deuxième option:
il se peut qui contienne des informations, parfois non, tou dépend
Ce champ est parfois vide, le laissez ainsi
Si vous avez choisi la première option par défaut
Faire à nouveau Tab.
vous trouverais le lien nommé:
En savoir plus sur les formes plurielles
Faire à nouveau Tab.
Ici se trouve le bouton OK, si vous pensez que vous avez mis correctement les informations concernant le module complémentaire, vous pouvez faire entrer sur lui!.
N'oubliez pas d'enregistrer les informations avec Ctrl+S!.

Pour que sa fonctionne, vous devez coller le fichier.mo dans le chemin suivant.
Nom du Module Complémentaire/locale/xx/LC_MESSAGES/
remplacer xx par la sigle de votre langue.
dans notre cas il faut écrire:
fr
Parfois le fichier .po n'est pas inclus, seulement le fichier .mo.
Tout dépand si l'auteur souhaite partager se fichier.
A nous les traducteurs il nous sert le fichier .po ou .pot ou également le code source du programme. Pas toujours il est présent, par exemple en NVDA il est introuvable, il existe seulement le fichiers compilés .mo. Vous devez
télécharger le code source pour le traduire.

Remarque Très Importante!!!
Parfois on trouve l'élément nommé :
Mise à jour depuis les sources non disponible

Voici la solution, pour qui soit disponible...

Aller dans les Propriétés du catalogue
Je pense que vous devez indiquer le bon chemin de base pour le nouveau catalogue. cela se trouve après le premier onglet nommé:
Propriétés de traduction
Le deuxième onglet est nommé:
Chemins des sources
A titre d'information le troisième onglet est nommé:
Mots-clés source

Donc lorsque vous êtes dans le deuxième onglet nommé:
Chemins des sources
Faire Tab.
Extraire le texte des répertoires suivants :
Chemin de base :
Ici c'est un champ d'édition.
Faire Tab
Chemins
Chercher le bouton élément
NVDA ne lit pas se bouton comme élément, mais il y a un seule bouton.
Si il y a plusieurs boutons, c'est le deuxième bouton.
Dans le champ dédition Chemin de base :
écrire le chemin où se trouve les fichiers sources.
Dans le cas contraire Si vous avez gardé le code dans le même chemin écrivez un point
Appuyez sur entrée pour ajouter le chemin contenant le point
et appuyez sur le bouton Ok pour valider.
Maintenant, vous pouvez cliquer sur :Mise à jour depuis les sources, puis attendre quelques instants et le catalogue se met à jour.
Faire OK dans cette nouvelle boîte de dialogue.

Note:
Donc maintenant vous aurais deux chemins, l'une pour le code du programme un pour le nouveau catalogue. Vous pouvez également ajouter plusieurs chemins, si nous avons d'autres codes, tels que par exemple le module
complémentaire pour Dropbox.

Donc, voici une autre méthode rapide...
avec poedit il faut crée un nouveau catalogue, puis donner le chemin
des sources a traduir, par exemple le chemin ou se trouve votre module complémentaire:
c:\users\votre nom d'utilisateur\appdata\roaming\nvda\addons\le nom du module complémentaire
cela dans les propriètés de poedit
dans le deuxième onglet:
Chemins des sources
Faire Tab.
il faut mettre le chemin de base
c:\users\votre nom d'utilisateur\appdata\roaming\nvda\addons\le nom du module complémentaire
dans le troisième onglet
Mots-clés source
on écrit le nom du dossier ou se trouve les fichiers sources par exemple:
appModules
globalPlugins
Ensuite on va rechercher dans le menu catalogue
Mise à jour depuis les sources
Faire entrée.
Poedit recherche ensuite les sources depuis se chemin.
biensure le fichier .py doit être la.
Il me semble qu'il faut crée les dossier pour les langues manuelment au préalable.
locale
fr
LC_MESSAGES
on valide il se peut qu'il donne un message d'erreur possiblement j'ignore, faire ok
ensuite il apparait las listes des chaines a traduir.
la première parti ces les messages en anglais, la deuxième partie
c'est la traduction.
enregistrer le catalogue comme nvda.po automatiquement il va crée le fichier nvda.mo
N'oubliez pas...
Dans les préférences de Poedi on peut choisir mettre le nom du module, votre nom, email, la langue, puis on fait oK
Cela se trouve dans le premier onglet:
Propriétés de traduction
N'oubliez pas aussi de...
traduir le manifest.ini en français puis le codifiquer en utf8 sans bom.
Ce fichier est placez dans le dossier:
fr
Au même niveau que le dossier:
LC_MESSAGES

Sinon pour les plus chevronné je vous donne l'astuce donner par notre ami Patrick ZAJDA de la liste ALLOS:

Pour la création du fichier, il y a une autre méthode, utiliser
le template de module complémentaire :

https://bitbucket.org/nvdaaddonteam/addontemplate

Il utilise scons, plus le port de gettext pour Windows.

Une fois tout installer et le fichier buildVars.py bien configuré, il
n'y a qu'à se mettre en invite de commande dans le répertoire du module
et faire

scons pot

Puis dans poedit il faut créer un nouveau fichier po, et fusionner
depuis le fichier .pot généré.
Je ne sais plus si on peut le faire directement à la création du
fichier, mais on peut le faire depuis le menu catalogue, si je ne me
trompe pas le menu s'appelle "Mettre à jour depuis un fichier POT..."

Mes explications sont quelque peu succinctes, mais ça devrait être
compréhensible. Mais je complèterais s'il le faut, et quand poedit aura décidé d'arrêter de bouder depuis la mise à jour

le menu est bien dans
catalogue, et l'intitulé exact est "Mettre à jour depuis un fichier POT..."

Le fichier .mo est créé par Poedit dès qu'on sauvegarde le fichier po en
cours d'édition.
Mais on n'a pas à s'en occuper, de toute façon il sera généré par scons
à la compilation du module complémentaire, puisque le template cré le
fichier .nvda-addon.

Et j'ai dis scons, et pas c'con ! OK je sort... Bonne nuit

Patrick

Remarque dans le fichier .py Tout d'abord, il est nécessaire d'encadrer les chaines que on souhaite traduire par cette instruction:
_(" et ").

Tutoriels à lire:

Vous pouvez aussi consulter la tuto nommé:
Comment traduire un module pour NVDA?
Vous pouvez aller consulter aussi:
A propos de la traduction des modules complémentaire et comment faire pour le transférer à la Communauté (pour développeurs et traducteurs).
Ici vous trouverais des informations très intéressant à se sujet.

Vous pouvez aussi lire un excellent article fait récemment par notre ami Daniel par ici:
Traduction d'un module NVDA avec Poedit Dans cette même page vous trouverez un lien de téléchargement vers le module PoeditMadeEasy signalé par mes soins sur la liste ALLOS.
Cet article décrit plus largement certains détails qui n'ont pas été décrits dans mes tutoriels

Voici la page en anglais où on peut trouver le module complémentaire poeditMadeEasy, ainsi que les informations rélatif au module complémentaire décrit par l'auteur et aussi le code source:
https://github.com/dhankuta/poeditMadeEasy

Remerciement:

Mille merci à nos amis Patrick ZAJDA, Michel SUCH, Paul B, Daniel Poiraud et tous les autres amis pour les informations qu'ils m'ont donné soit en perso ou via la liste ALLOS, qui ma servi de base pour réaliser ce tutoriel.

Voila!
J'espère que cette tuto vous serve!.
Vous pouvez partager cette tuto sur les listes dédier à NVDA!!!
Via Dropbox o Wuala ou un autre!.
Enjoy!
@+!
Rémy Ruiz (BlindHelp).